package com.xingu.xg.service;


import com.xingu.xg.domain.dto.TreeNodeDto;
import com.xingu.xg.domain.request.AddNodeQuery;
import com.xingu.xg.domain.request.CopyNodeQuery;
import com.xingu.xg.domain.request.DeleteNodeQuery;
import org.springframework.stereotype.Service;

import java.util.*;

@Service
public interface TreeNodeService {


    /**
     * 查询树形结构列表
     */
    List<TreeNodeDto> queryTreeList();


    /**
     * 向上向下增加节点（子节点）
     */
    List<TreeNodeDto> addNode(AddNodeQuery request);

    /**
     * 复制粘贴节点（保持层级）
     */
    List<TreeNodeDto> copyNodes(CopyNodeQuery query);


    /**
     * 批量删除节点（含子节点）
     */
    List<TreeNodeDto> deleteNodes(DeleteNodeQuery query);

}